package cn.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import cn.pojo.Member;
import cn.util.Page;

public interface MemberDao {
    // 1、根据id获得会员
    List<Member> getMemberById(Integer id);

    // 2、添加会员
    int addMember(Member m);

    // 3、修改会员
    int updateMember(Member m);

    // 4、根据id删除会员
    int deleteMember(Integer id);

    // 5、登录方法
    Member getMemberByPassAndName(String userName, String passWord);

    // 6、登录
    Member login(String userName, String passWord);

    // 模糊查询包含gg的总数
    int getSumLikeName(String userName);

    // 根据用户名包含gg模糊查询的Member对象，按照生日倒叙查询
    List<Member> getMemberLikeName(String userName);

    // 分页查询Member对象
    Page<Member> getMemberByPageNum(Integer pagaNum);

    // 根据用户名的分页模糊查询
    Page<Member> getMemberByPageNumAndUserName(Integer pageNum, String userName);

    // 根据用户名、电话模糊分页查询Member对象
    Page<Member> getMemberByUserNameAndTel(Integer pageNum, String userName, String telNum);

    // 根据tel、userName、startBirthday、endBirthday模糊分页查询Member对象
    Page<Member> getMemberByUserNameAndTelAndBirthday(Integer pageNum, String telNum, String userName,
                                                      Date startBirthday, Date endBirthday);

    // 根据id批量删除
    int[] deleteMemberBatch(List<Integer> list);

    Map<String, Integer> updateMemberById(Member m);
}
